/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package imperio;

import imperio.simulador.Simulador;
import java.util.ArrayList;

/**
 *
 * @author Bernardo
 */
public class Imperio {
    private ArrayList<Patrulha> patrulhas;
    private ArrayList<Sistema> sistemas;
    
    private static Imperio imperio;  
    
    /**Método para criação da única instância da classe Imperio    */
    
    public static Imperio getInstance(){
        if(imperio == null)
            imperio = new Imperio();
         return imperio;
    }

       
    private Imperio() {
        this.patrulhas = new ArrayList<Patrulha>(Simulador.numPatrulhas);
        this.sistemas = new ArrayList<Sistema>(Simulador.numSistemas);
        gerarPatrulhas(Simulador.numPatrulhas);
        gerarSistemas(Simulador.numSistemas);
    }
    
    /**Método responsável pera geração das patrulhas.

     * @param  numPatrulhas int - Número de patrulhas a serem criadas.   

     */

    private void gerarPatrulhas(int numPatrulhas) {
        for (int i = 0; i < numPatrulhas; i++) {
            Patrulha patrulha = new Patrulha(i);
            patrulhas.add(patrulha);
        }
    }

    /**Método responsável pera geração das sistemas.

     * @param  numSistemas int - Número de sistemas a serem criadas.   

     */
    private void gerarSistemas(int numSistemas) {
       for (int i = 0; i < numSistemas; i++) {
            Sistema sistema = new Sistema(i);
            sistemas.add(sistema);
        }
    }

    public  ArrayList<Patrulha> getPatrulhas() {
        return patrulhas;
    }

    public void setPatrulhas(ArrayList<Patrulha> patrulhas) {
        this.patrulhas = patrulhas;
    }

    public  ArrayList<Sistema> getSistemas() {
        return sistemas;
    }

    public void setSistemas(ArrayList<Sistema> sistemas) {
        this.sistemas = sistemas;
    }
    
    


}
